﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml;
using System.IO;
using Newtonsoft.Json;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data.Odbc;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Text.RegularExpressions;
using System.Net;
using System.Net.Sockets;

/// <summary>
/// wsyS_NETJC_1 的摘要说明
/*
	wxyJS V2.0 CS#辅助class
	wxyJS V2.0开发编写者：辛酉戊戌戊寅（网络用户），中国居民身份证号： 230104198110270213。
	wxyJS V2.0开发起始期：2015年1月1日
	wxyJS V2.0开发结束日期：持续更新中……
	wxyJS V2.0遵循开源协议 Apache License 标准。请后续使用者了解Apache License 标准后使用。
	使用提示：
		1、本文件为wxyJS V2.0的C#辅助组成部分，与wxyJS V2.0遵循开源协议 Apache License 标准。
        2、本文件需要拷贝到项目App_Code文件夹下使用。
*/
/// </summary>
public class wsyS_NETJC_1
{
	public wsyS_NETJC_1()
	{
		//
		// TODO: 在此处添加构造函数逻辑
		//
    }//wsyS_NETJC_1


    #region 获取本机IP
    public String wxyS_C_IP_1()
    {
        String FHZ001 = "";
        try
        {
	        String HostName = Dns.GetHostName(); //得到主机名
	        IPHostEntry IpEntry = Dns.GetHostEntry(HostName);
	        for(int i=0;i<IpEntry.AddressList.Length;i++)
	        {
		        //从IP地址列表中筛选出IPv4类型的IP地址
		        //AddressFamily.InterNetwork表示此IP为IPv4,
		        //AddressFamily.InterNetworkV6表示此地址为IPv6类型
                if(IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
                {
                    return IpEntry.AddressList[i].ToString();
                }//if (IpEntry.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
	        }
	        FHZ001 = "";
        }catch (Exception ex){
	        FHZ001 ="获取本机IP出错:" + ex.Message;
        }//try
        return FHZ001;
    }//wxyS_C_IP_1
	#endregion
		
	#region 获取服务器IP
	public String wxyS_S_IP_1()
    {
        String FHZ001 = "";
        try
        {
	        FHZ001 = HttpContext.Current.Request.ServerVariables.Get("Local_Addr").ToString();
        }catch (Exception ex){
	        FHZ001 ="获取服务器IP出错:" + ex.Message;
        }//try
        return FHZ001;
    }//wxyS_S_IP_1
	#endregion








    #region 获取区
    //获取服务器真实机IP
    public String GetServerIP()
    {
        String ip;
        String strHostName = Dns.GetHostName();
        String IPz01 = "";
        int i = 0;
        foreach (IPAddress ip1 in System.Net.Dns.GetHostAddresses(strHostName))
        {
            i = i + 1;
            //Response.Write(i.ToString()+"__"+ip.ToString()+"<br/>");
            if (ip1.ToString().IndexOf(".") != -1)
            {
                IPz01 = ip1.ToString();
            }
        }
        ip = IPz01.Trim().ToString();
        return ip;
    }


    //获取真实访问机IP
    public String GetRealIp()
    {
        String ip = "";
        try
        {
            HttpRequest request = HttpContext.Current.Request;
            if (request.ServerVariables["http_VIA"] != null)
            {
                ip = request.ServerVariables["http_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();
            }
            else
            {
                ip = request.UserHostAddress;
            }
        }
        catch (Exception e)
        {
            ip = e.ToString();
        }
        return ip;
    }

    //获取代理IP
    public String GetViaIP()
    {
        String viaIp = null;
        try
        {
            HttpRequest request = HttpContext.Current.Request;
            if (request.ServerVariables["http_VIA"] != null)
            {
                viaIp = request.UserHostAddress;
            }
            else
            {
                try
                {
                    viaIp = request.ServerVariables["http_X_FORWARDED_FOR"].ToString().Split(',')[0].Trim();
                }
                catch (Exception e)
                {
                    viaIp = "NULL";
                }
            }
        }
        catch (Exception e)
        {
            viaIp = e.ToString();
        }
        return viaIp;
    }
    //获取区
    #endregion


}//wsyS_PHPJC_1